package GUI.manager;

import GUI.manager.impl.VentanaManagerImpl;

/**
 * @author Mario Romero
 * 
 *         esta clase me devuelve el objeto PuntuacionManagerImpl por medio de
 *         la interface PuntuacionManager, lo hacemos asi (Singleton) para que
 *         me devuelva un solo objeto y no se queden varios almacenados
 */
public class VentanaFactory {

	// http://es.wikipedia.org/wiki/Singleton
	private static VentanaManager ventanaManager;

	private static void createInstance() {
		if (ventanaManager == null) {
			synchronized (VentanaManagerImpl.class) {
				if (ventanaManager == null) {
					ventanaManager = new VentanaManagerImpl();
				}
			}
		}
	}

	/** Metodo que devuelve la instancia de ventanaManager
	 * @return devuelve la instancia de la ventanaManager
	 */
	public static VentanaManager getInstance() {
		createInstance();
		return ventanaManager;
	}
}
